PouchDB একটি JavaScript-based ডাটাবেস, যা CouchDB এর মতোই ডকুমেন্ট-ভিত্তিক ডেটাবেস, তবে এটি ক্লায়েন্ট-সাইডে (ব্রাউজারে) রান করে এবং offline-first অ্যাপ্লিকেশনগুলির জন্য উপযোগী। PouchDB এবং CouchDB একে অপরের সাথে ইন্টিগ্রেটেশন করতে সক্ষম, যার মাধ্যমে আপনি offline sync এবং data replication এর সুবিধা উপভোগ করতে পারেন। PouchDB মূলত CouchDB এর API অনুসরণ করে, এবং এটি CouchDB সার্ভারের সাথে সিঙ্ক্রোনাইজেশন করতে সক্ষম।
PouchDB এবং CouchDB একই ধরনের ডেটাবেস স্ট্রাকচার ব্যবহার করে (JSON ডকুমেন্ট), এবং তাদের মধ্যে সিঙ্ক্রোনাইজেশন সহজ। মূলত, PouchDB অ্যাপ্লিকেশনটি offline-first হিসাবে কাজ করে, এবং যখন ইন্টারনেট সংযোগ পাওয়া যায়, তখন এটি CouchDB সার্ভারের সাথে ডেটা সিঙ্ক্রোনাইজ করে।
CouchDB এবং PouchDB এর মধ্যে replication চালাতে হবে, যাতে ডেটা সার্ভার এবং ক্লায়েন্ট উভয়ের মধ্যে সিঙ্ক্রোনাইজড থাকে।
PouchDB এবং CouchDB এর মধ্যে সিঙ্ক্রোনাইজেশন শুরু করতে, প্রথমে আপনাকে PouchDB ইনস্টল এবং কনফিগার করতে হবে, তারপর এটি CouchDB এর সাথে সিঙ্ক্রোনাইজ করার জন্য কিছু কোড লিখতে হবে।
PouchDB ইনস্টল করার জন্য আপনি npm (Node Package Manager) ব্যবহার করতে পারেন:
npm install pouchdb
PouchDB ডেটাবেস তৈরি করতে, আপনি নিচের কোড ব্যবহার করতে পারেন:
const PouchDB = require('pouchdb');
const db = new PouchDB('my_database');
এখানে, my_database
হচ্ছে PouchDB ডেটাবেসের নাম।
PouchDB এবং CouchDB এর মধ্যে সিঙ্ক্রোনাইজেশন চালাতে, আপনি replication API ব্যবহার করতে পারেন। নিচের কোডটি দেখুন:
const remoteDB = new PouchDB('http://localhost:5984/my_database'); // CouchDB server URL
const localDB = new PouchDB('my_local_database'); // PouchDB local database
// Syncing PouchDB with CouchDB
localDB.sync(remoteDB, {
live: true, // Live syncing (continuously updates)
retry: true // Retry on failure
}).on('change', function (info) {
console.log('Sync change:', info);
}).on('error', function (err) {
console.log('Sync error:', err);
});
Explanation:
localDB.sync(remoteDB, {...})
: এই কোডের মাধ্যমে PouchDB এবং CouchDB এর মধ্যে সিঙ্ক্রোনাইজেশন শুরু হবে।live: true
: এই অপশনটি অ্যাপ্লিকেশন চালু থাকার সময় ডেটা সিঙ্ক্রোনাইজেশন লাইভ রাখবে, অর্থাৎ যখনই ডেটা পরিবর্তিত হবে তখনই তা সিঙ্ক হবে।retry: true
: সিঙ্ক্রোনাইজেশনে কোনো সমস্যা হলে পুনরায় চেষ্টা করবে।আপনি PouchDB ডেটাবেসে নতুন ডকুমেন্ট যোগ করতে পারেন এবং তা CouchDB এর সাথে সিঙ্ক হবে। উদাহরণস্বরূপ:
const doc = {
_id: 'unique_id',
name: 'John Doe',
age: 30
};
localDB.put(doc)
.then(function(response) {
console.log('Document inserted:', response);
})
.catch(function(error) {
console.log('Error inserting document:', error);
});
এটি ডকুমেন্ট যোগ করে এবং সিঙ্ক্রোনাইজেশন প্রক্রিয়া শুরু করে। নতুন ডকুমেন্টটি CouchDB সার্ভারে আপডেট হয়ে যাবে।
সারাংশ:
PouchDB এবং CouchDB এর মধ্যে ইন্টিগ্রেশন একটি শক্তিশালী সমাধান প্রদান করে যা offline-first অ্যাপ্লিকেশন তৈরিতে সহায়ক। এটি data replication, synchronization, এবং distributed systems এর জন্য অত্যন্ত কার্যকরী। CouchDB-এর শক্তিশালী সার্ভার সাইড স্টোরেজ এবং PouchDB-এর ব্রাউজার-ভিত্তিক ডেটা সঞ্চয় ক্ষমতা একে অপরকে পরিপূরক করে।
common.read_more